package com.study.mybatisplus.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;

/**
 * <p>
 * 消息
 * </p>
 *
 * @author flwu
 * @since 2020-03-20
 */
@TableName("tbl_message")
public class Message implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 发送对象[1：全部；2：IOS；3：安卓；4：指定用户]
     */
    private Boolean sendTo;

    /**
     * 发送人数
     */
    private Integer sendCount;

    /**
     * 消息类别[1：官方；2：好友申请；3：礼物]
     */
    private Boolean category;

    /**
     * 内容类型[1：文本；2：链接]
     */
    private Boolean contentType;

    /**
     * 链接地址
     */
    private String contentUrl;

    /**
     * 标题
     */
    private String title;

    /**
     * 内容
     */
    private String content;

    /**
     * 消息状态[1：未发送；2：发送中；3：发送成功；4：发送失败]
     */
    private Boolean status;

    /**
     * 发送人用户ID
     */
    private Long senderId;

    /**
     * 目标ID（例如：好友申请ID、礼物ID）
     */
    private Long targetId;

    /**
     * 操作人昵称
     */
    private String operator;

    /**
     * 操作人ID，0表示系统
     */
    private Long operatorId;

    /**
     * 发送时间
     */
    private LocalDateTime sendDatetime;

    /**
     * 创建时间
     */
    private LocalDateTime createDatetime;

    /**
     * 最后更新时间
     */
    private LocalDateTime updateDatetime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    public Boolean getSendTo() {
        return sendTo;
    }

    public void setSendTo(Boolean sendTo) {
        this.sendTo = sendTo;
    }
    public Integer getSendCount() {
        return sendCount;
    }

    public void setSendCount(Integer sendCount) {
        this.sendCount = sendCount;
    }
    public Boolean getCategory() {
        return category;
    }

    public void setCategory(Boolean category) {
        this.category = category;
    }
    public Boolean getContentType() {
        return contentType;
    }

    public void setContentType(Boolean contentType) {
        this.contentType = contentType;
    }
    public String getContentUrl() {
        return contentUrl;
    }

    public void setContentUrl(String contentUrl) {
        this.contentUrl = contentUrl;
    }
    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }
    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }
    public Boolean getStatus() {
        return status;
    }

    public void setStatus(Boolean status) {
        this.status = status;
    }
    public Long getSenderId() {
        return senderId;
    }

    public void setSenderId(Long senderId) {
        this.senderId = senderId;
    }
    public Long getTargetId() {
        return targetId;
    }

    public void setTargetId(Long targetId) {
        this.targetId = targetId;
    }
    public String getOperator() {
        return operator;
    }

    public void setOperator(String operator) {
        this.operator = operator;
    }
    public Long getOperatorId() {
        return operatorId;
    }

    public void setOperatorId(Long operatorId) {
        this.operatorId = operatorId;
    }
    public LocalDateTime getSendDatetime() {
        return sendDatetime;
    }

    public void setSendDatetime(LocalDateTime sendDatetime) {
        this.sendDatetime = sendDatetime;
    }
    public LocalDateTime getCreateDatetime() {
        return createDatetime;
    }

    public void setCreateDatetime(LocalDateTime createDatetime) {
        this.createDatetime = createDatetime;
    }
    public LocalDateTime getUpdateDatetime() {
        return updateDatetime;
    }

    public void setUpdateDatetime(LocalDateTime updateDatetime) {
        this.updateDatetime = updateDatetime;
    }

    @Override
    public String toString() {
        return "Message{" +
            "id=" + id +
            ", sendTo=" + sendTo +
            ", sendCount=" + sendCount +
            ", category=" + category +
            ", contentType=" + contentType +
            ", contentUrl=" + contentUrl +
            ", title=" + title +
            ", content=" + content +
            ", status=" + status +
            ", senderId=" + senderId +
            ", targetId=" + targetId +
            ", operator=" + operator +
            ", operatorId=" + operatorId +
            ", sendDatetime=" + sendDatetime +
            ", createDatetime=" + createDatetime +
            ", updateDatetime=" + updateDatetime +
        "}";
    }
}
